<?php

/* * *********************************************************** */
/* * ********************** Classe clienteDao ********************* */
/* * ************ Desenvolvido por Antônio Ezequiel ************** */
/* * *********************************************************** */

class clienteDao extends Cliente {

    public function adicionarCliente() {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("insert into tbl_cliente (cli_nome, cli_login, cli_email, cli_senha, cli_cpf, cli_cep, cli_bairro,
                                cli_rua, cli_numero, cli_complemento, cli_ativo, cli_estado, cli_cidade, cli_cel, cli_fone,
                                cli_data_nascimento)
                                values ('$this->cli_nome','$this->cli_login','$this->cli_email', '$this->cli_senha', '$this->cli_cpf', '$this->cli_cep',
                                        '$this->cli_bairro', '$this->cli_rua', '$this->cli_numero', '$this->cli_complemento',
                                        '$this->cli_ativo', '$this->cli_estado', '$this->cli_cidade', '$this->cli_cel','$this->cli_fone',
                                        '$this->cli_data_nascimento')");

        if ($queri) {
            $id = parent::get_insert_id();
            parent::desconectarBD();
            return $id;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function logarCliente() {

        global $configurator;

        parent::conectarBD();
        
        $queri = parent::query("select cli_nome as nome, cli_login as login, cli_cep as cep, cli_email as email, cli_estado as estado from tbl_cliente
                                                        where cli_login = '$this->cli_login' and cli_senha = '$this->cli_senha'");

        if ($queri) {
            $dados = $queri->fetch_assoc();
            if ($dados['nome']) {
                parent::desconectarBD();
                return $dados;
            }else{
                return false;
            }
        } else {
            parent::desconectarBD();
            return false;
        }
    }
    
    public function gravarTeste($dado) {

        global $configurator;

        parent::conectarBD();
        $queri = parent::query("insert into teste (prod) values ('$dado')");

        if ($queri) {
            $dados = $queri->fetch_assoc();
            if ($dados['nome']) {
                parent::desconectarBD();
                return $dados;
            }else{
                return false;
            }
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarClientesAutoComplites($nome) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select cli_nome as nome, cli_codigo as codigo from tbl_cliente where cli_nome like '%$nome%' order by cli_nome asc");

        if ($queri) {
            $dados = parent::fetch_rows($queri);
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarClienteNome($nome) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select cli_codigo as codigo from tbl_cliente where cli_ativo = 0 and cli_nome like '$nome'");

        if ($queri) {
            $dados = $queri->fetch_assoc();
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarClientesPaginado($inicio, $porPagina) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select cli_nome as nome, cli_login as login, cli_codigo as codigo from tbl_cliente
                                where cli_ativo = '1' limit $inicio, $porPagina");

        if ($queri) {
            $dados = parent::fetch_rows($queri);
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarClientesPaginadoAjax($ini, $codigo, $inicio, $porPagina) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query(sprintf("select cli_nome as nome, cli_login as login, cli_codigo as codigo from tbl_cliente
                                        where %s %s %s %s LIMIT $inicio, $porPagina", $ini, $codigo, $this->cli_nome, $this->cli_cpf));

        if ($queri) {
            $dados = parent::fetch_rows($queri);
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarCliente($codigo) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select cli_nome as nome, cli_login as login, cli_data_nascimento as data_nascimento, cli_fone as fone,
                                cli_cel as cel, cli_cidade as cidade, cli_cidade as cidade, cli_codigo as codigo, cli_rua as rua, cli_email as email,
                                cli_cpf as cpf, cli_cep as cep, cli_bairro as bairro, cli_numero as numero, cli_estado as estado, 
                                cli_complemento as complemento from tbl_cliente where cli_codigo ='$codigo' and cli_ativo = '1'");

        if ($queri) {
            $dados = $queri->fetch_assoc();
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function atualizarCliente($codigo) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("update tbl_cliente set cli_nome = '$this->cli_nome', cli_email = '$this->cli_email',
                                cli_cpf = '$this->cli_cpf', cli_cep = '$this->cli_cep', cli_bairro = '$this->cli_bairro',
                                cli_rua = '$this->cli_rua', cli_numero = '$this->cli_numero', cli_complemento = '$this->cli_complemento',
                                cli_fone = '$this->cli_fone', cli_cel = '$this->cli_cel', cli_cidade = '$this->cli_estado', cli_data_nascimento = '$this->cli_data_nascimento'
                                where cli_codigo = '$codigo'");

        if ($queri) {
            parent::desconectarBD();
            return true;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function totalPaginas() {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select count(cli_codigo) as quantidade from tbl_cliente where cli_ativo = '1'");

        if ($queri) {
            $dados = $queri->fetch_assoc();
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function totalPaginasAjax($ini, $codigo) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query(sprintf("select count(*) as totRegistros from tbl_cliente
                                        where %s %s %s %s", $ini, $codigo, $this->cli_nome, $this->cli_cpf));

        if ($queri) {
            $dados = $queri->fetch_assoc();
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function listarClientesAutoComplite($cpf) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select cli_nome as nome, cli_codigo as codigo from tbl_cliente where cli_ativo = 1 and cli_cpf like '%$cpf%' order by cli_nome asc");

        if ($queri) {
            $dados = parent::fetch_rows($queri);
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function selecionarCliente($cpf) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("select cli_nome as nome, cli_codigo as codigo, cli_cpf as cpf from tbl_cliente where cli_ativo = 1 and cli_cpf = '$cpf'");

        if ($queri) {
            $dados = parent::fetch_rows($queri);
            parent::desconectarBD();
            return $dados;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

    public function deletarCliente($codigo) {

        global $configurator;

        parent::conectarBD();

        $queri = parent::query("update tbl_cliente set cli_ativo = '0' where cli_codigo = '$codigo'");

        if ($queri) {
            parent::desconectarBD();
            return true;
        } else {
            parent::desconectarBD();
            return false;
        }
    }

}

?>
